/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 * @author martin
 */
public class Cola_implementacion_listaTest {

    public Cola_implementacion_listaTest() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    /**
     * Test of getDisponibles method, of class Cola_implementacion_lista.
     */
    @Test
    public void testGetDisponibles() {
        System.out.println("getDisponibles");
        Cola_implementacion_lista instance = new Cola_implementacion_lista();
        int expResult = 10;
        int result = instance.getDisponibles();
        assertEquals(expResult, result);;
    }

    /**
     * Test of pop method, of class Cola_implementacion_lista.
     */
    @Test
    public void testPop() {
        System.out.println("pop");

        Cola instance = new Cola_implementacion_lista();
        Persona Prueba= new Persona(5,5,"nombre");

        instance.push(Prueba);
        instance.pop();// se llama al método que está en prueba ***************************************
        boolean expResult = true;//Devería estar vacío el arreglo después de hacer un pop luego el push
        boolean result = instance.empty(); //se llama para ver si realmente está vacío

        assertEquals(expResult, result);
    }

    /**
     * Test of posicion_de method, of class Cola_implementacion_lista.
     */
    @Test
    public void testPosicion_de() {
        System.out.println("posicion_de");
        String Elemento_G = "bla";
        Cola instance = new Cola_implementacion_lista();
        instance.push(Elemento_G);
        int expResult = 0;
        int result = instance.posicion_de(Elemento_G);
        assertEquals(expResult, result);
    }

    /**
     * Test of push method, of class Cola_implementacion_lista.
     */
    @Test
    public void testPush() {
        System.out.println("push");
        String Elemento_G="Prueba";//Elemento de la clase String para hacer la prueba
        Cola instance = new Cola_implementacion_lista();
        instance.push(Elemento_G);//Se agrega un string utilizando el método creado
        String expResult= "Prueba";
        assertEquals(expResult,instance.pop()); //compara la igualdad de resultado teorico con exp.
    }
    /**
     * Test of primera_Posicion method, of class Cola_implementacion_lista.
     */
    @Test
    public void testPrimera_Posicion() {
        System.out.println("primera_Posicion");
        String Elemento_G = "bla";
        Cola instance = new Cola_implementacion_lista();
        instance.push(Elemento_G);
        String expResult = "bla";
        String result = instance.primera_Posicion().toString();
        assertEquals(expResult, result);
    }

}